package demo03;

import java.util.ArrayList;

/*
 *  集合元素处理案例：使用传统方法处理集合元素
 */
public class Demo01Foreach {
    public static void main(String[] args) {
        // 第一支队伍
        ArrayList<String> one = new ArrayList<>();
        one.add("迪丽热巴");
        one.add("宋远桥");
        one.add("苏星河");
        one.add("石破天");
        one.add("石中玉");
        one.add("老子");
        one.add("庄子");
        one.add("洪七公");
        // 第二支队伍
        ArrayList<String> two = new ArrayList<>();
        two.add("古力娜扎");
        two.add("张无忌");
        two.add("赵丽颖");
        two.add("张三丰");
        two.add("尼古拉斯赵四");
        two.add("张天爱");
        two.add("张二狗");

        // 1.第一个队伍只要名字为3个字的成员姓名，存储到一个新集合中
        ArrayList<String> new1 = new ArrayList<>();
        for (String name : one) {
            if (name.length()==3) {
                new1.add(name);
            }
        }

        // 2.第一个队伍筛选之后只要前3个人，存储到一个新集合中
        ArrayList<String> new2 = new ArrayList<>();
        for (int i = 0; i < 3; i++) {
            new2.add(new1.get(i));
        }

        // 3.第二个队伍只要姓张的成员姓名，存储到一个新集合中
        ArrayList<String> new3 = new ArrayList<>();
        for (String name : two) {
            if (name.startsWith("张")) {
                new3.add(name);
            }
        }

        // 4.第二个队伍筛选之后不要前2个人，存储到一个新集合中
        ArrayList<String> new4 = new ArrayList<>();
        for (int i = 2; i < new3.size(); i++) {
            new4.add(new3.get(i));
        }

        // 5.将两个队伍合并为一个队伍，存储到一个新集合中
        ArrayList<String> concat = new ArrayList<>();
        for (String name : new2) {
            concat.add(name);
        }
        for (String name : new4) {
            concat.add(name);
        }

        // 6.根据姓名创建Person对象，存储到一个新集合中
        ArrayList<Person> persons = new ArrayList<>();
        for (String name : concat) {
            persons.add(new Person(name));
        }

        // 7.打印整个队伍的Person对象信息
        for (Person person : persons) {
            System.out.println(person);
            /*
             *  Person [name=宋远桥]
             *  Person [name=苏星河]
             *  Person [name=石破天]
             *  Person [name=张天爱]
             *  Person [name=张二狗]
             */
        }
    }
}
